<template>
  <div>
    
  </div>
</template>
<script setup lang="ts">
// ts 联合类型写法
type htype= "1" | "你好" |"3" |6;
 let str:htype=6;

//  Extract 提取类型  //  Exclude 排除类型
 type Test1="1"|"2"|"3"
const obj: Extract<Test1, '1' | '2'> = '1';

type Person = {
  id: number;
  name: string;
  age: number;
};

// ts keyof 将所有的属性提取出来 做成联合类型
type KeysOfPerson = keyof Person; // 'id' | 'name' | 'age'

let key:KeysOfPerson="name";

interface Iperson{
  sex:string,
  heigth:number,
  weight:number
}
type Iper= keyof Iperson; // "sex"| "heigth" |"weight"
// type Iper="sex"| "heigth" |"weight"

// ts 的 ?? 
let str2:any='';
// ts ??  如果?? 前面值不为 null 或 undefined 空 等值
// 正常赋值 否则赋值后面的值
let str1=str2 ?? "你好"
let str3=str2 || "你好"

// 接口
interface Icity{
  // 匿名函数的类型
  (name:string,age:number,per:number):string
}
// 定义一个函数类型
const cityFunction: Icity = (name: string, age: number, per: number): string => {


    // 这里只是一个简单的实现示例
    return `City name: ${name}, Age: ${age}, Population: ${per}`;
};













</script>